package com.elai.baseconfig.mapper;

import java.util.List;

import com.elai.baseconfig.domain.ApplicationAttributeDO;
import org.apache.ibatis.annotations.Mapper;
import com.elai.baseconfig.domain.BaseUserAttributesDO;
import org.apache.ibatis.annotations.Param;

/**
 * 用户属性Mapper接口
 *
 * @author elai
 * @date 2021-06-06
 */
@Mapper
public interface BaseUserAttributesMapper
{
    /**
     * 查询用户属性
     *
     * @param id 用户属性ID
     * @return 用户属性
     */
    BaseUserAttributesDO selectBaseUserAttributesById(Long id);

    /**
     * 查询用户属性列表
     *
     * @param baseUserAttributes 用户属性
     * @return 用户属性集合
     */
    List<BaseUserAttributesDO> selectBaseUserAttributesList(BaseUserAttributesDO baseUserAttributes);

    /**
     * 新增用户属性
     *
     * @param baseUserAttributes 用户属性
     * @return 结果
     */
    int insertBaseUserAttributes(BaseUserAttributesDO baseUserAttributes);

    /**
     * 修改用户属性
     *
     * @param baseUserAttributes 用户属性
     * @return 结果
     */
    int updateBaseUserAttributes(BaseUserAttributesDO baseUserAttributes);

    /**
     * 删除用户属性
     *
     * @param id 用户属性ID
     * @return 结果
     */
    int deleteBaseUserAttributesById(Long id);

    /**
     * 批量删除用户属性
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteBaseUserAttributesByIds(Long[] ids);

    int deleteBaseUserAttributes(List<ApplicationAttributeDO> doList);

    void deleteBaseUserAttributeByLesseeId(@Param("lesseeId")String lesseeId);
}
